# !/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
===========================
@Time : 2022/9/16 0016 22:43
@Author : 测试开发工程师
@File : 1. bash编程语法.py
@Software: PyCharm
============================
"""


"""
变量
    规则：
        命名只能使用英文字母，数字和下划线，首个字符不能以数字开头
        中间不能有空格，可以使用下划线(_)
        不能使用标点符号
        不能使用 bash 里的关键字（可用 help 命令查看保留关键字）

定义与使用变量：
    your_name = 'abc'
    echo $your_name  -> 结果是： abc
    
    只读变量：
        a = '123'
        readonly a
    删除变量：
        unset your_name(不能删除只读变量)
        echo $your_name  -> 结果是空 

变量类型：
    字符串： your_name = "hogwarts"
    拼接字符串： greeting = "hello,"$your_name"!"
    数组： array_name = (value0 value1 value2 value3)
        取数组： valuen=${array_name[n]}
        单独赋值： array_name[0] = value0
        
实战1
    使用变量
        a = 'abc'
        echo $abc
    删除变量：
        unset a
实战2
    数组初始化：
        my_array = (A B 'C' D)
        echo "第一个元素为${my_array[0]}"
    数组单个定义：
        my_array[1] = B
        echo "数组的元素为:${my_array[*]}"
        echo "数组的元素为：${my_array[@]}" 
 
控制语句
    if 
        
        if 条件
        then
            命令
        fi
        
        例子：
            if [2==2];then echo "true";else echo "false";fi
            if [[2>1]];then echo "true";else echo "false";fi
            -gt 大于
            -lt 小于
            实战: 比较两个变量的大小并输出不同的值
                if [ $a -eq $b ];then echo 'equal';elif [ $a -lt $b ];then echo 'small';elif [ $a -gt $b ];then echo 'big';fi
               
    for
        
        for var in item1 item2......itemN
        do 
            命令
        done
        
        例子：
            for loop in 1 2 3 4 5
            do 
                echo 'hello'
            done
        实战：
            循环读取文件内容并输出：
                for i in $(cat dir.txt);do echo $i;done
        
    
    while
        
        while 条件
        do 
            命令
        done
        
        例子：
            int = 1
            while (($int <= 5))
            do 
                echo $int
                let 'int++'
            done
        实战：
            循环读取文件内容并输出
                while read line;do echo $line;done<dir.txt
"""